package com.jwsoft.manager.common.vo.eduStudentEnrollPre;

import com.bifang.assistant.common.vo.BasePageVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * 预采集表QueryVO
 *
 * @author wangtao
 * @since 2022-11-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class EduStudentEnrollPreQueryVO extends BasePageVO {

    @Schema(name = "studentEnrollPreId", description = "主键")
    private String studentEnrollPreId;

    @Schema(name = "batchNo", description = "批次号")
    private Long batchNo;

    @Schema(name = "personId", description = "学生人员id")
    private Long personId;

    @Schema(name = "idcard", description = "学生身份证")
    private String idcard;

    @Schema(name = "fullName", description = "学生姓名")
    private String fullName;

    @Schema(name = "cardType", description = "学生证件类型")
    private String cardType;

    @Schema(name = "birthYmd", description = "出生日期")
    private String birthYmd;

    @Schema(name = "sex", description = "性别")
    private String sex;

    @Schema(name = "age", description = "学生年龄")
    private Integer age;

    @Schema(name = "submitterId", description = "提交人员userId")
    private String submitterId;

    @Schema(name = "submitterName", description = "提交人员姓名")
    private String submitterName;

    @Schema(name = "telphone", description = "提交人员联系电话")
    private String telphone;

    @Schema(name = "orgId", description = "数据采集所属组织")
    private String orgId;

    @Schema(name = "orgName", description = "数据采集单位名称")
    private String orgName;

    @Schema(name = "remarks", description = "备注")
    private String remarks;

    @Schema(name = "address", description = "现居住地址")
    private String address;

    @Schema(name = "householdPlace", description = "户籍地")
    private String householdPlace;

    @Schema(name = "enrollPreType", description = "预采集类型")
    private String enrollPreType;

    @Schema(name = "schoolId", description = "意向学校")
    private String schoolId;

    @Schema(name = "shortName", description = "意向学校简称")
    private String shortName;

    @Schema(name = "schoolName", description = "意向学校名称")
    private String schoolName;

    @Schema(name = "schoolCategory", description = "就读学段")
    private String schoolCategory;

    @Schema(name = "type", description = "数据类型(insert,update)")
    private String type;

    @Schema(name = "year", description = "年份")
    private Integer year;

    @Schema(name = "houseSyncRemark", description = "房产同步备注")
    private String houseSyncRemark;

    @Schema(name = "householdSyncFlag", description = "户籍同步状态")
    private String householdSyncFlag;

    @Schema(name = "householdSyncRemark", description = "户籍同步备注")
    private String householdSyncRemark;

    @Schema(name = "netsignSyncFlag", description = "网签同步状态")
    private String netsignSyncFlag;

    @Schema(name = "netsignSyncRemark", description = "网签同步备注")
    private String netsignSyncRemark;

    @Schema(name = "cbSyncFlag", description = "参保同步状态")
    private String cbSyncFlag;

    @Schema(name = "cbSyncRemark", description = "参保同步备注")
    private String cbSyncRemark;

    @Schema(name = "qySyncFlag", description = "开办企业同步状态")
    private String qySyncFlag;

    @Schema(name = "qySyncRemark", description = "开办企业同步备注")
    private String qySyncRemark;

    @Schema(name = "jzzSyncFlag", description = "居住证同步状态")
    private String jzzSyncFlag;

    @Schema(name = "jzzSyncRemark", description = "居住证同步备注")
    private String jzzSyncRemark;

    @Schema(name = "beforeFlag", description = "预报名同步标识")
    private String beforeFlag;

    @Schema(name = "beforeRemark", description = "预报名同步备注")
    private String beforeRemark;

    @Schema(name = "calculateFlag", description = "预测同步标识")
    private String calculateFlag;

    @Schema(name = "calculateRemark", description = "预测同步备注")
    private String calculateRemark;

    @Schema(name = "areaCode", description = "所属统筹区/行政区")
    private String areaCode;

    @Schema(name = "areaCodeList", description = "所属统筹区/行政区")
    private List<String> areaCodeList;


    @Schema(name = "areaName", description = "统筹区名称")
    private String areaName;

    @Schema(name = "authStatus", description = "审核状态")
    private String authStatus;

    @Schema(name = "authRemarks", description = "审核意见")
    private String authRemarks;

    @Schema(name = "authTime", description = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date authTime;

    @Schema(name = "authUserId", description = "审核人")
    private String authUserId;

    @Schema(name = "familyFlag", description = "出生证比对状态")
    private String familyFlag;

    @Schema(name = "familyRemark", description = "出生证比对备注")
    private String familyRemark;

    @Schema(name = "saveType", description = "保存类型")
    private String saveType;

    @Schema(name = "dataType", description = "数据类型")
    private String dataType;

    @Schema(name = "checkOrg", description = "是否校验组织")
    private Boolean checkOrg;


    @Schema(description = "开始年龄")
    private Integer begAge;
    @Schema(description = "结束年龄")
    private Integer endAge;


    @Schema(description = "房产同步状态")
    private String houseSyncFlag;

    @Schema(description = "是否民办直升班 0 否 1 是")
    private String privateAppointFlag;


    @Schema(description = "父亲id")
    private Long fatherId;
    @Schema(description = "父亲姓名")
    private String fatherName;
    @Schema(description = "父亲（监护人）证件类型")
    private String fatherCardType;
    @Schema(description = "父亲身份证")
    private String fatherIdcard;
    @Schema(description = "父亲工作")
    private String fatherWork;
    @Schema(description = "父亲手机")
    private String fatherCellphone;
    @Schema(description = "母亲id")
    private Long motherId;
    @Schema(description = "母亲姓名")
    private String motherName;
    @Schema(description = "母亲证件类型")
    private String motherCardType;
    @Schema(description = "母亲身份证")
    private String motherIdcard;
    @Schema(description = "母亲工作")
    private String motherWork;
    @Schema(description = "母亲手机")
    private String motherCellphone;
    @Schema(description = "房产id")
    private String houseId;
    @Schema(description = "不动产权号")
    private String realProperty;
    @Schema(description = "招生类别")
    private String configName;
    @Schema(description = "特殊人员标识、针对学校录入的")
    private String specialFlag;
    @Schema(description = "房产地址")
    private String houseAdreess;
    @Schema(description = "户籍id")
    private String householdId;
    @Schema(description = "户籍地址")
    private String householdAdress;

    @Schema(description = "是否城区E类人员 0 否 1 是")
    private String appointFlag;


    @Schema(name = "modelCode", description = "模板编码")
    private String modelCode;

    @Schema(name = "fileName", description = "文件名称")
    private String fileName;
    @Schema(name = "followingFlag",title="是否非随迁子女 0 否 1 是")
    private String followingFlag;

    @Schema(name = "consistent_flag", description = "是否房户一致 0 未比对 1比对通过 2比对不通过")
    private String consistentFlag;

    @Schema(name = "consistent_type", description = "房户一致比对类型：1 大数据比对 2 人工核对")
    private String consistentType;

    @Schema(name = "consistent_remarks", description = "一致情况说明")
    private String consistentRemarks;

    @Schema(name = "consistent_user_id", description = "房产一致人工操作人")
    private String consistentUserId;

    @Schema(name = "consistent_time", description = "房产一致性处理时间")
    private String consistentTime;

    @Schema(name = "family_type", description = "家庭关系比对类型1 大数据比对 2 人工核对")
    private String familyType;
    @Schema(name = "serviceAreaFlag", title = "是否服务区 0 否 1是")
    private String serviceAreaFlag;
    @Schema(name = "agentEnrollFlag", title = "是否可代理报名 0 否 1是，代理报名则可使用父母双方的房产等信息")
    private String agentEnrollFlag;
    @Schema(name = "canEnroll", title = "是否满足报名条件 0 否 1是")
    private String canEnroll;
    @Schema(name = "xshkszlx", title = "学生户口所在类型：1-新生和父母都在同一户口，2-新生和父母未在同一户口")
    private String xshkszlx;

    @Schema(name = "updateTime", title = "更新时间")
    private Date updateTime;

    @Schema(name="orderBy", title="排序字段")
    private String orderBy;
}
